home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 11 / FM Towns Free Software Collection 11.iso / t_os / edu / kana / src / mk_data.bas < prev    next >
BASIC Source File  |  1995-07-12  |  7KB  |  182 lines

  1. 1000 '====================================================================
  2. 1010 '
  3. 1020 '                『平仮名・片仮名の練習』データ作成
  4. 1030 '                                                by H.AOE  1995.07.06
  5. 1040 '====================================================================
  6. 1050 '
  7. 1060 *初期設定1
  8. 1070  COLOR 7,0,7,0:CLS                              '画面クリア
  9. 1080  DEFINT A-Z                                     '整数変数に設定
  10. 1090  CLEAR,,,,,300000:DEF FONT"教科書体   24ドット"   '文字フォント設定
  11. 1100  SCREEN 0    :SCREEN@ 0                         'グラフィック1画面
  12. 1110  WINDOW(0,0)-(639,479):VIEW(0,0)-(639,479)      '16色モード
  13. 1120  MOUSE 0:MOUSE 1,400,80,0                       'マウス初期化
  14. 1130  ON MOUSE(1) GOSUB *マウス位置読み取り          'マウス割り込み設定
  15. 1140  KANA=0                                         '0:平仮名  1:片仮名
  16. 1150 '
  17. 1160 *画面初期化
  18. 1170  FOR A=0 TO 15
  19. 1180   PALETTE A,[0,0,0]
  20. 1190  NEXT
  21. 1200  VIEW(0,0)-(639,479),%2
  22. 1210  LOAD@"TIFF\TITLE_0.TIF", ( 20, 20)
  23. 1220  LOAD@"TIFF\MAIN_WIN.TIF",( 20,100)
  24. 1230  LOAD@"TIFF\GOJU_0.TIF",  (420, 60)
  25. 1240  LOAD@"TIFF\RW_0.TIF",    (420, 20)
  26. 1250  LOAD@"TIFF\EXIT_B.TIF",  (540, 20)
  27. 1260  GOSUB *PALETTE
  28. 1270  MOUSE 1,,,1
  29. 1280 '
  30. 1290 *START
  31. 1300 '--------------------------------------------------------------------
  32. 1310 ' タイトル表示     ( 20, 20)-(399, 79)
  33. 1320 ' メインウインドウ ( 40,120)-(379,439)
  34. 1330 ' 五十音ボタン     (420, 60)-(619,459)
  35. 1340 ' 読み書きスイッチ (420, 20)-(529, 49)
  36. 1350 ' 終了ボタン       (540, 20)-(619, 49)
  37. 1360 ' 変数の初期化    KANA=  0:平仮名      1:片仮名
  38. 1370 '                 LOOP=  1:同一文字種  2:文字種を変更する
  39. 1380 '                 MOJI=  0:「あ」 ~  45:「ん」
  40. 1390 '                 GOJU$:平仮名または片仮名の五十音を入れておく
  41. 1400 '--------------------------------------------------------------------
  42. 1410  LOOP=1
  43. 1420  MOJI=0
  44. 1430  ON KANA+1 GOSUB *平仮名,*片仮名
  45. 1440  GOSUB *フォント表示
  46. 1450 '
  47. 1460 *MAIN
  48. 1470  WHILE MOUSE(2,0)=0:WEND
  49. 1480  MX=MOUSE(4,0):MY=MOUSE(5,0)
  50. 1490  IF      MX>540 AND MX<619 AND MY> 20 AND MY< 49 THEN
  51. 1500   GOTO *EXIT
  52. 1510  ELSE IF MX> 20 AND MX<399 AND MY> 20 AND MY< 79 THEN
  53. 1520   KANA=ABS(KANA-1):LOOP=2
  54. 1530  ELSE IF MX>420 AND MX<619 AND MY> 60 AND MY<459 THEN
  55. 1540   GOSUB *文字選択
  56. 1550  ELSE IF MX> 40 AND MX<379 AND MY>120 AND MY<439 THEN
  57. 1560   GOSUB *筆順データ作成
  58. 1570  ENDIF
  59. 1580  ON LOOP GOTO *MAIN,*START
  60. 1590 '
  61. 1600 *EXIT
  62. 1610  CLOSE
  63. 1620  END
  64. 1630 '
  65. 1640 *文字選択
  66. 1650 '--------------------------------------------------------------------
  67. 1660 ' 五十音ボタンで選ばれた文字を0~45の番号に変換し、MOJIに代入する。
  68. 1670 '--------------------------------------------------------------------
  69. 1680  BX=(MX-420) \ 40:BY=(MY-60) \ 40
  70. 1690  IF (BX=1 OR BX=3) AND (BY=7 OR BY=9) THEN RETURN
  71. 1700  MOJI=BX+BY*5
  72. 1710  IF MOJI=37 THEN MOJI=36
  73. 1720  IF MOJI>38 THEN MOJI=MOJI-2
  74. 1730  IF MOJI=45 THEN MOJI=44 ELSE IF MOJI=47 THEN MOJI=45
  75. 1740  GOSUB *フォント表示
  76. 1750  RETURN
  77. 1760 '
  78. 1770 *フォント表示
  79. 1780 '--------------------------------------------------------------------
  80. 1790 ' 教科書体24ドットで文字の雛形を表示する。
  81. 1800 '--------------------------------------------------------------------
  82. 1810  LINE(42,122)-(377,437),PSET,%15,BF
  83. 1820  SYMBOL(66,136),KMID$(GOJU$,MOJI+1,1),18,18,%7
  84. 1830  RETURN
  85. 1840 '
  86. 1850 *平仮名
  87. 1860 '--------------------------------------------------------------------
  88. 1870 ' データファイル、画面、文字変数を平仮名用に初期化する。
  89. 1880 '--------------------------------------------------------------------
  90. 1890  CLOSE
  91. 1900  LOAD@"TIFF\TITLE_0.TIF", ( 20, 20)
  92. 1910  LOAD@"TIFF\GOJU_0.TIF",  (420, 60)
  93. 1920  OPEN"R",#1,"(4)HIRAGANA.DAT"
  94. 1930  FIELD #1,2 AS PX$,2 AS PY$
  95. 1940  GOJU$="あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん"
  96. 1950  RETURN
  97. 1960 '
  98. 1970 *片仮名
  99. 1980 '--------------------------------------------------------------------
  100. 1990 ' データファイル、画面、文字変数を片仮名用に初期化する。
  101. 2000 '--------------------------------------------------------------------
  102. 2010  CLOSE
  103. 2020  LOAD@"TIFF\TITLE_1.TIF", ( 20, 20)
  104. 2030  LOAD@"TIFF\GOJU_1.TIF",  (420, 60)
  105. 2040  OPEN"R",#1,"(4)KATAKANA.DAT"
  106. 2050  FIELD #1,2 AS PX$,2 AS PY$
  107. 2060  GOJU$="アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲン"
  108. 2070  RETURN
  109. 2080 '
  110. 2090 *筆順データ作成
  111. 2100 '--------------------------------------------------------------------
  112. 2110 '   メインウインドウ内で左クリックされると、このルーチンに入る。
  113. 2120 '   最初に左クリックされた座標を、ランダムファイルの MOJI*800+1 番目
  114. 2130 ' のレコードに記録する。以後、マウスが移動する度に、その座標を次のレコ
  115. 2140 ' ードに記録する。マウスの左ボタンを開放するまでを1画とし、左クリッ
  116. 2150 ' クで次の画を書く。右クリックでこのルーチンから抜ける。1文字分3200
  117. 2160 ' バイトのうち残りバイトは "00" で埋める。
  118. 2170 '   ADR: MOJI*800+ADR 番目のレコードに、座標を記録する。
  119. 2180 '--------------------------------------------------------------------
  120. 2190  MOUSE 4,40,120,379,439
  121. 2200  ADR=1
  122. 2210  GOSUB *マウス位置書き込み
  123. 2220  WHILE MOUSE(2,1)=0
  124. 2230   IF MOUSE(2,0) THEN
  125. 2240    MX=MOUSE(4,0):MY=MOUSE(5,0)
  126. 2250    GOSUB *マウス位置書き込み
  127. 2260    MOUSE(1) ON
  128. 2270    WHILE MOUSE(2,0):WEND
  129. 2280    MOUSE(1) OFF
  130. 2290   ENDIF
  131. 2300  WEND
  132. 2310  WHILE ADR<=800
  133. 2320   LSET PX$=MKI$(0)
  134. 2330   LSET PY$=MKI$(0)
  135. 2340   PUT#1,MOJI*800+ADR
  136. 2350   ADR=ADR+1
  137. 2360  WEND
  138. 2370  MOUSE 4,0,0,639,479
  139. 2380  MOJI=MOJI+1
  140. 2390  IF MOJI=46 THEN MOJI=0
  141. 2400  GOSUB *フォント表示
  142. 2410  RETURN
  143. 2420 '
  144. 2430 *マウス位置読み取り
  145. 2440 '--------------------------------------------------------------------
  146. 2450 ' マウスの移動による割り込み処理ルーチン
  147. 2460 '--------------------------------------------------------------------
  148. 2470  IF MOUSE(2,0)=0 THEN RETURN
  149. 2480  MX=MOUSE(0):MY=MOUSE(1)
  150. 2490  GOSUB *マウス位置書き込み
  151. 2500  RETURN
  152. 2510 '
  153. 2520 *マウス位置書き込み
  154. 2530 '--------------------------------------------------------------------
  155. 2540 ' ランダムファイルに座標を記録する
  156. 2550 '--------------------------------------------------------------------
  157. 2560  CIRCLE(MX,MY),10,%1,,,,F
  158. 2570  LSET PX$=MKI$(MX)
  159. 2580  LSET PY$=MKI$(MY)
  160. 2590  PUT#1,MOJI*800+ADR
  161. 2600  ADR=ADR+1
  162. 2610  RETURN
  163. 2620 '
  164. 2630 *PALETTE
  165. 2640  PALETTE  0,[  0,  0,  0]
  166. 2650  PALETTE  1,[  0,  0,240]
  167. 2660  PALETTE  2,[128,  0,128]
  168. 2670  PALETTE  3,[192,240,176]
  169. 2680  PALETTE  4,[208,240,224]
  170. 2690  PALETTE  5,[176,240,112]
  171. 2700  PALETTE  6,[ 80,160, 48]
  172. 2710  PALETTE  7,[128,128,128]
  173. 2720  PALETTE  8,[ 64, 64, 64]
  174. 2730  PALETTE  9,[  0,240,  0]
  175. 2740  PALETTE 10,[240,  0,192]
  176. 2750  PALETTE 11,[240,  0,  0]
  177. 2760  PALETTE 12,[240,112,128]
  178. 2770  PALETTE 13,[240,240,160]
  179. 2780  PALETTE 14,[240,240,  0]
  180. 2790  PALETTE 15,[255,255,255]
  181. 2800  RETURN
  182.